| body1%, body2% - физические тела |
| Функция добавляет body2 к body1. При этом body2 удаляется. при соиденении тел, общему телу передаётся сумарная маса, материалы остаются как были в каждого тела. После обьеденения тел пересчитывается центр масс. |
|
Graphics3D 640,480,32,2 SetBuffer BackBuffer() kl=0 ;Lights light01=CreateLight() PositionEntity light01,15,66,15 ;Plane plane=CreatePlane() text01=LoadTexture("tile.jpg") EntityTexture plane,text01 EntityAlpha plane,0.5 m=CreateMirror () ;Camera cam=CreateCamera() PositionEntity cam,0,20,-20 RotateEntity cam,20,0,0 ;PX PxCreateWorld(1) ;создаем физический мир pxSetGravity(0,-10,0) ;устанавливаем гравитацию ;Physic cube cube_body=pxCreateCube(2,2,2,10) pxSetPosition cube_body,0,18,0 cube=CreateCube(); ScaleEntity cube,2,2,2 text02=LoadTexture("cube.jpg") EntityTexture cube,text02 cube_body2=pxCreateCube(2,2,2,10) pxSetPosition cube_body2,0,14,0 pxSetRotation cube_body2,0,-40,44 cube2=CreateCube(); ScaleEntity cube2,2,2,2 RotateMesh cube2,0,-40,44 PositionMesh cube2,0,-2,0 HideEntity cube2 AddMesh cube2,cube ; Это заветная строчка по добавлению тел :) pxAddBodytoBody(cube_body, cube_body2) Repeat ;Main Loop If KeyDown(57) pxMoveBodyToPoint(cube_body, 5 , 10, 10, 0) If KeyDown (205) pxAddForce(cube_body,10,0,0, 1) If KeyDown (203) pxAddForce(cube_body,-10,0,0, 1) If KeyDown (200) pxAddForce(cube_body,0,0,10, 1) If KeyDown (208) pxAddForce(cube_body,0,0,-10, 1) RenderPhysic(30,0) pxSetEntity(cube,cube_body) UpdateWorld() RenderWorld() Flip Until KeyHit(1) End |
К содержанию
Нажмите здесь чтобы увидеть последнюю версию этой странички в режиме online.